package org.edu.modules.common.base;

import lombok.Data;

import java.io.Serializable;

/**
 * dto-排序对象
 */
@Data
public class OrderItemDto implements Serializable {
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = -1749206002939782146L;

    /**
     * 需要进行排序的字段
     */
    private String column;

    /**
     * 是否正序排列，默认 true
     */
    private boolean asc = true;

    /**
     * 正序
     *
     * @param column
     * @return

     * @since 2020-04-02
     */
    public static OrderItemDto asc(String column) {
        return build(column, true);
    }

    /**
     * 倒序
     *
     * @param column
     * @return

     * @since 2020-04-02
     */
    public static OrderItemDto desc(String column) {
        return build(column, false);
    }

    /**
     * 快速构件排序
     *
     * @param column
     * @param asc
     * @return

     * @since 2020-04-02
     */
    private static OrderItemDto build(String column, boolean asc) {
        OrderItemDto item = new OrderItemDto();
        item.setColumn(column);
        item.setAsc(asc);
        return item;
    }
}
